home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / DB_CLIPP / 0264.ZIP / CHKBK.ARC / SUBROUTE.PRG < prev   
Text File  |  1985-07-27  |  8KB  |  421 lines

  1. ****************
  2. PROCEDURE DEPSIT
  3. ****************
  4.  
  5. SET COLOR TO 2+/1,6+/4,1
  6. STORE " " TO CONT
  7. CLEAR GETS
  8. @24,10 SAY "Do you want to enter new deposits? (Y/N) " GET CONT
  9. READ
  10. IF UPPER(CONT)<>"Y"
  11.     RETURN
  12. ENDIF
  13. SELECT 2
  14. USE DEPOSITS INDEX DATE,AMOUNT
  15. SET FORM TO DEP
  16. DO WHILE .T.
  17.     APPEND blank
  18.     EDIT RECNO()
  19.     @23,0 CLEAR
  20.     WAIT SPACE(29)+"ENTER ANOTHER (Y/N)? " TO MORE
  21.     IF UPPER(MORE) = "Y"
  22.         SKIP -1    
  23.         STORE BALANCE+AMOUNT TO BALANCE
  24.         LOOP
  25.     ELSE
  26.         CLEAR
  27.         SKIP -1
  28.         STORE BALANCE+AMOUNT TO BALANCE
  29.         CLOSE FORM
  30.         SELECT 1
  31.         RETURN
  32.     ENDIF
  33. ENDDO
  34.  
  35.  
  36.  
  37. ******************
  38. PROCEDURE CHECKREG
  39. ******************
  40.  
  41. SET COLOR TO 3+/1,6+/4,1
  42. STORE " " TO CONT
  43. STORE DATE() TO MDATE
  44. STORE 0 TO MCKNUM
  45. CLEAR GETS
  46. @24,10 SAY "Do you want to enter new checks? (Y/N) " GET CONT
  47. READ
  48. IF UPPER(CONT)<>"Y"
  49.     RETURN
  50. ENDIF
  51. SELECT 1
  52. USE CHECKS INDEX CKNUM
  53. SET FORM TO CHECK
  54. DO WHILE .T.
  55.     APPEND blank
  56.     REPLACE DATE WITH MDATE,CHKNUM WITH MCKNUM+1
  57.     EDIT RECNO()
  58.     @23,0 CLEAR
  59.     WAIT SPACE(29)+"ENTER ANOTHER (Y/N)? " TO MORE
  60.     IF UPPER(MORE) = "Y"
  61.         SKIP -1    
  62.         STORE BALANCE-AMOUNT TO BALANCE
  63.         STORE DATE TO MDATE
  64.         STORE CHKNUM TO MCKNUM
  65.         LOOP
  66.     ELSE
  67.         CLEAR
  68.         SKIP -1
  69.         STORE BALANCE-AMOUNT TO BALANCE
  70.         CLOSE FORM
  71.         RETURN
  72.     ENDIF
  73. ENDDO
  74.  
  75.  
  76.  
  77. ******************
  78. PROCEDURE STATEMNT
  79. ******************
  80.  
  81. SET COLOR TO 6+/1,6+/4,1
  82. SELECT 1
  83. USE CHECKS INDEX CKNUM
  84. SELECT 2
  85. USE DEPOSITS INDEX AMOUNT,DATE
  86. STORE "N" TO CONT
  87. STORE "N" TO CORRECT
  88. CLEAR GETS
  89. @24,10 SAY "Do you want to balance your statement? (Y/N) " GET CONT
  90. READ
  91. IF UPPER(CONT)<>"Y"
  92.     RETURN
  93. ENDIF
  94. CLEAR
  95. CLEAR GETS
  96. STORE "N" TO CONT
  97. @10,10 SAY "Do you want to clear checks? (Y/N) " GET CONT
  98. READ
  99. IF UPPER(CONT)<>"Y"
  100.     DO STATE2
  101.     RETURN
  102. ENDIF
  103. SELECT 1
  104. SET FORM TO CHECK
  105. SET FILTER TO .NOT.CLEARED
  106. GO TOP
  107. DO WHILE .T.
  108.     CLEAR
  109.     @10,0 SAY ""
  110.     INPUT "Enter check number: " TO NUM
  111.     SEEK NUM
  112.     IF EOF()=.T.
  113.         ? CHR(07)
  114.         @12,0 SAY "Sorry, that check number does not exist or was already cleared!"
  115.         WAIT "Type 'Q' to Quit, any other key to try again. " TO AGAIN
  116.         IF UPPER(AGAIN)="Q"
  117.             CLEAR
  118.             EXIT
  119.         ENDIF
  120.         @12,0 CLEAR
  121.         GO TOP
  122.         LOOP
  123.     ELSE
  124.         REPLACE CLEARED WITH .T.
  125.         @12,0 SAY ""
  126.         STORE "N" TO MORE
  127.         WAIT "More checks to clear? (Y/N) " TO MORE
  128.         IF UPPER(MORE) = "Y"
  129.             CLEAR
  130.             LOOP
  131.         ELSE
  132.             CLEAR
  133.             CLOSE FORM
  134.             DO STATE2
  135.             RETURN
  136.         ENDIF
  137.     ENDIF
  138. ENDDO
  139. CLEAR
  140. CLOSE FORM
  141. DO STATE2
  142.  
  143.  
  144. ****************
  145. PROCEDURE STATE2
  146. ****************
  147.  
  148. CLEAR GETS
  149. STORE "N" TO CONT
  150. @10,10 SAY "Do you want to clear deposits? (Y/N) " GET CONT
  151. READ
  152. IF UPPER(CONT)<>"Y"
  153.     DO STATE3
  154.     RETURN
  155. ENDIF
  156. SELECT 2
  157. SET FILTER TO .NOT. CLEARED
  158. GO TOP
  159. CLEAR
  160. DO WHILE .T.
  161.     @10,0 SAY ""
  162.     INPUT "Enter deposit amount: " TO DEPAMNT
  163.     SEEK DEPAMNT
  164.     IF EOF()
  165.         ? CHR(07)
  166.         @12,0 SAY "Sorry, that deposit does not exist or was already cleared!"
  167.         WAIT "Type 'Q' to Quit, any other key to try again. " TO AGAIN
  168.         IF UPPER(AGAIN)="Q"
  169.             CLEAR
  170.             EXIT
  171.         ENDIF
  172.         @12,0 CLEAR
  173.         GO TOP    
  174.         LOOP
  175.     ELSE
  176.         CLEAR
  177.         DO BOX2
  178.         @5,27 say "Date of deposit:"
  179.         @5,43 SAY date
  180.         @7,7 say "Source of funds:"
  181.         @7,22 SAY source
  182.         @9,30 say "Amount: $"
  183.         @9,39 SAY amount picture "###,###.##"
  184.         @13,32 say "Correct deposit (Y/N)?"
  185.         @13,55 get correct
  186.         READ
  187.         IF UPPER(CORRECT)="Y"
  188.             REPLACE CLEARED WITH .T.
  189.             @12,0 SAY ""
  190.         ENDIF
  191.         CLEAR
  192.         WAIT "More deposits to clear? (Y/N) " TO MORE
  193.         IF UPPER(MORE) = "Y"
  194.             CLEAR
  195.             LOOP
  196.         ELSE
  197.             CLEAR
  198.             CLOSE FORM
  199.             DO STATE3
  200.             RETURN
  201.         ENDIF
  202.     ENDIF
  203. ENDDO
  204. CLEAR
  205. CLOSE FORM
  206. DO STATE3
  207.  
  208.  
  209.  
  210. ****************
  211. PROCEDURE STATE3
  212. ****************
  213.  
  214.  
  215. SELECT 1
  216. SUM ALL AMOUNT TO OUTCHK FOR .NOT. CLEARED
  217. SET FILTER TO .NOT.CLEARED
  218. SELECT 2
  219. SUM ALL AMOUNT TO OUTDEP FOR .NOT. CLEARED
  220. SET FILTER TO .NOT.CLEARED
  221. SET INDEX TO DATE,AMOUNT
  222. CLEAR
  223. DO WHILE .T.
  224.     STORE 0 TO ANS
  225.     DO BOX1
  226.     @4,20 SAY "1) List Outstanding checks"
  227.     @5,20 SAY "2) List Outstanding deposits"
  228.     @9,10 SAY "TOTAL OF OUTSTANDING CHECKS: $"
  229.     @9,40 SAY OUTCHK PICTURE "@B( #,###,###.##"
  230.     @11,10 SAY "TOTAL OF OUTSTANDING DEPOSITS: $"
  231.     @11,42 SAY OUTDEP PICTURE "@B( #,###,###.##"
  232.     @13,10 SAY "STATEMENT BALANCE SHOULD BE: $"
  233.     @13,40 SAY BALANCE+OUTCHK-OUTDEP PICTURE "@B( #,###,###.##"
  234.     @15,10 SAY "ENTER 1 or 2 (any other key to quit): " GET ANS PICTURE "#"
  235.     READ
  236.     DO CASE
  237.         CASE ANS=1
  238.             CLEAR
  239.             SELECT 1
  240.             DISPLAY ALL OFF DATE,CHKNUM,PAYEE,AMOUNT
  241.             WAIT
  242.             CLEAR
  243.         CASE ANS=2
  244.             CLEAR
  245.             SELECT 2
  246.             DISPLAY ALL OFF DATE,SOURCE,AMOUNT
  247.             WAIT
  248.             CLEAR
  249.         OTHERWISE
  250.             CLEAR
  251.             RETURN
  252.     ENDCASE
  253. ENDDO
  254.  
  255.  
  256. ***************
  257. PROCEDURE PRINT
  258. ***************
  259.  
  260. STORE "S" TO WHERE
  261. SET COLOR TO 4+/1,6+/4,1
  262. SELECT 1
  263. USE CHECKS INDEX CKNUM
  264. SELECT 2
  265. USE DEPOSITS INDEX DATE,AMOUNT
  266. DO WHILE .T.
  267.     CLEAR
  268.     STORE 0 TO ANS
  269.     DO BOX1
  270.     @4,30 SAY "Electronic Checkbook"
  271.     @5,33 SAY "Summary Reports"
  272.     @9,25 SAY "1) Report by Payee"
  273.     @11,25 SAY "2) Report by Purpose"
  274.     @13,25 SAY "3) Report of Outstanding Checks"
  275.     @15,25 SAY "4) Report of Outstanding Deposits"
  276.     @17,25 SAY "5) Quit"
  277.     @19,25 SAY "Enter your selection: " GET ANS PICTURE "#"
  278.     READ
  279.     IF ANS <> 5
  280.         CLEAR GETS
  281.         CLEAR
  282.         @12,10 SAY "Do you want run this report to the screen or the print? (S/P) " GET WHERE
  283.         READ
  284.         IF UPPER(WHERE)="P"
  285.             STORE "TO PRINT" TO SWITCH
  286.         ELSE
  287.             STORE "" TO SWITCH
  288.         ENDIF
  289.     ENDIF
  290.     DO CASE
  291.         CASE ANS=1
  292.             SELECT 1
  293.             STORE SPACE(20) TO VPAY
  294.             CLEAR
  295.             @10,10 SAY "Enter Payee: " GET VPAY
  296.             READ
  297.             CLEAR
  298.             REPORT FORM CHKS &SWITCH FOR PAYEE=VPAY HEADING "Checks Listed by Payee"
  299.             IF UPPER(WHERE)="S"
  300.                 WAIT
  301.             ENDIF
  302.             CLEAR
  303.             LOOP
  304.         CASE ANS=2
  305.             SELECT 1
  306.             STORE SPACE(20) TO VPURP 
  307.             CLEAR
  308.             @10,10 SAY "Enter Purpose: " GET VPURP
  309.             READ
  310.             CLEAR
  311.             REPORT FORM CHKS &SWITCH FOR PURPOSE=VPURP HEADING "Checks Listed by Purpose"
  312.             IF UPPER(WHERE)="S"
  313.                 WAIT
  314.             ENDIF
  315.             CLEAR
  316.             LOOP
  317.         CASE ANS=3
  318.             SELECT 1
  319.             CLEAR
  320.             REPORT FORM CHKS &SWITCH FOR .NOT.CLEARED HEADING "Outstanding Checks"
  321.             IF UPPER(WHERE)="S"
  322.                 WAIT
  323.             ENDIF
  324.             CLEAR
  325.             LOOP
  326.         CASE ANS=4
  327.             SELECT 2
  328.             CLEAR 
  329.             REPORT FORM DEPS &SWITCH FOR .NOT.CLEARED HEADING "Outstanding Deposits"
  330.             IF UPPER(WHERE)="S"
  331.                 WAIT
  332.             ENDIF
  333.             CLEAR
  334.             LOOP
  335.         CASE ANS=5
  336.             CLEAR
  337.             RETURN
  338.     ENDCASE
  339. ENDDO
  340.  
  341.  
  342.  
  343. **************
  344. PROCEDURE BOX1
  345. **************
  346.  
  347. PUBLIC FLAG
  348. STORE .T. TO FLAG
  349. DO BOX
  350. RETURN
  351.  
  352.  
  353.  
  354. **************
  355. PROCEDURE BOX2
  356. **************
  357.  
  358. PUBLIC FLAG
  359. STORE .F. TO FLAG
  360. DO BOX
  361. RETURN
  362.  
  363.  
  364. *************
  365. PROCEDURE BOX
  366. *************
  367.  
  368. @2,5 say lcorner+double+rcorner
  369. @2,30 say "Balance: $"
  370. IF BALANCE < 0
  371.     SET COLOR TO 4+*/1
  372. ENDIF
  373. @2,40 say balance picture "@B( #,###,###.##"
  374. SET COLOR TO 2/1
  375. @3,5 say vedge
  376. @3,75 say vedge
  377. @4,5 say vedge
  378. @4,75 say vedge
  379. @5,5 say vedge
  380. @5,75 say vedge
  381. @6,5say vedge
  382. @6,75 say vedge
  383. IF FLAG
  384.     @7,5 say left+double+right
  385. ELSE
  386.     @7,5 say vedge
  387.     @7,75 say vedge
  388. ENDIF
  389. @8,5 say vedge
  390. @8,75 say vedge
  391. @9,5 say vedge
  392. @9,75 say vedge
  393. @10,5 say vedge
  394. @10,75 say vedge
  395. IF FLAG
  396.     @11,5 say vedge
  397.     @11,75 say vedge
  398.     @12,5 say vedge    
  399.     @12,75 say vedge
  400.     @13,5 say vedge
  401.     @13,75 say vedge
  402.     @14,5 say vedge
  403.     @14,75 say vedge
  404.     @15,5 say vedge
  405.     @15,75 say vedge
  406.     @16,5 say vedge
  407.     @16,75 say vedge
  408.     @17,5 say vedge
  409.     @17,75 say vedge
  410.     @18,5 say vedge
  411.     @18,75 say vedge
  412.     @19,5 say vedge
  413.     @19,75 say vedge
  414.     @20,5 say vedge
  415.     @20,75 say vedge
  416.     @21,5 say lowerl+double+lowerr
  417. ELSE
  418.     @11,5 say lowerl+double+lowerr
  419. ENDIF
  420. RETURN
  421.